package com.zt.annotation;

import java.lang.annotation.*;

/**
 * 管理员操作日志注解
 * @author 周明震
 * @date 2025/7/21
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AdminLog {

    /**
     * 操作类型枚举
     */
    enum OperationType {
        CREATE,  // 创建
        UPDATE,  // 更新
        DELETE,  // 删除
        QUERY    // 查询
    }

    /**
     * 操作模块
     */
    String module() default "";

    /**
     * 操作类型
     */
    String operation() default "";

    /**
     * 操作描述
     */
    String description() default "";

    /**
     * 操作类型（用于过滤）
     */
    OperationType type() default OperationType.QUERY;

    /**
     * 是否记录请求参数
     */
    boolean includeParams() default true;

    /**
     * 是否记录响应结果
     */
    boolean includeResult() default true;
}
